Systems and methods for providing an interactive user interface using a film, visual projector, and infrared projector

ABSTRACT

The present disclosure relates to interactive projection systems. In one implementation, a system for projecting a user interface may include a film affixed to a surface; a first projector configured to project a user interface onto the film; a second projector configured to project a plurality of light beams such that the plurality of light beams form a plane above the film that does not intersect the film; and an image sensor configured to receive reflections caused by the projected plurality of light beams. The system may further include at least one processor configured to receive an indication of a reflection from the image sensor; determine a location associated with the reflection; in response to the received indication, determine a change for the user interface based on the determined location; and transmit a command to the first projector to modify the projected user interface according to the determined change.

TECHNICAL FIELD

This disclosure relates generally to the field of interactive userinterfaces. More specifically, and without limitation, this disclosurerelates to systems and methods for providing an interactive interfaceusing a film, a visual projector, and an infrared projector.

BACKGROUND

There are many instances in which an interactive touchscreen may be usedto replace a stationary sign, such as a retail display, an informationalkiosk, or the like. However, there are environments in which atouchscreen is too bulky or heavy to effectively replace a stationarysign. For example, automobile dealerships use paper adhered to vehiclewindows to convey information to potential consumers. Such paper may beeasily ripped or defaced, and can only display a limited amount ofinformation. A touchscreen would be advantageous as it would enable thedisplay of more (and more dynamic) information. However, an interactivetouchscreen may be unsuitable for adherence to vehicle windows onaccount of the weight of the touchscreen, which may require a strongadhesive that may be damaging to the vehicle window.

In another example, a seller for a home may use paper on a for sale signto convey information to potential consumers. However, an interactivetouchscreen may be unsuitable for this use on account of its sensitivityto the elements, such as rain, snow, or the like.

SUMMARY

Disclosed systems and methods for generating a user interface using afilm, a visual projector, and an infrared projector and enablinginteraction with the generated interface. Accordingly, disclosed systemsand methods result in an improved user interface over extant projectedinterfaces, which are generally static. Moreover, disclosed systems andmethods may allow for selective power control and interface generationalong with dynamic interface generation to incorporate customization.Accordingly, disclosed systems and methods result in a moreenergy-efficient system along with an improved user interface overextant projected interfaces, which are generally generic. Finally,disclosed systems and methods may allow for dynamic interface generationand/or power control to allay privacy concerns. Accordingly, disclosedsystems and methods use a technical solution to solve privacy concernsthat inhere in the use of customized interfaces.

There are many possible applications for such capabilities. Examples ofapplications include use on vehicle windows, e.g., in the context of anautomobile dealership. Additional examples of application may includeuse on for sale signs for property, e.g., in the context of home sales.

According to an exemplary embodiment of the present disclosure, a systemfor projecting a user interface onto a film may comprise a film, a firstprojector, a second projector, an image sensor, and at least oneprocessor. The film may be affixed to a surface. The first projector maybe configured to project a user interface onto the film, and the secondprojector may be configured to project a plurality of light beams suchthat the plurality of light beams form a plane above the film that doesnot intersect the film. The image sensor may be configured to receivereflections caused by the projected plurality of light beams, and the atleast one processor may be configured to perform operations that maycomprise: receiving an indication of a reflection from the image sensor;determining a location associated with the reflection; in response tothe received indication, determining a change for the user interfacebased on the determined location; and transmitting a command to thefirst projector to modify the projected user interface according to thedetermined change.

According to another embodiment of the present disclosure, a system forprojecting a user interface onto a film may comprise a film, a firstprojector, a second projector, an image sensor, and at least oneprocessor. The film may be affixed to a surface. The first projector maybe configured to project a user interface onto the film, and the secondprojector may be configured to project a plurality of light beams suchthat the plurality of light beams form a plane above the film that doesnot intersect the film. The image sensor may be configured to receivereflections and may have a processing core configured to determinelocations associated with received reflections caused by the projectedplurality of light beams, and the at least one processor may beconfigured to perform operations that may comprise: receiving anindication of a reflection and a location associated with the reflectionfrom the processing core; in response to the received indication,determining a change for the user interface based on the receivedlocation; and transmitting a command to the first projector to modifythe projected user interface according to the determined change.

According to an exemplary embodiment of the present disclosure, a systemfor projecting a user interface onto a film may comprise a film, aprojector, and at least one processor. The film may be affixed to asurface. The projector may be configured to project a user interfaceonto the film and may include an image sensor configured to receivereflections caused by the projected user interface. The at least oneprocessor may be configured to perform operations that may comprisereceiving an indication of a reflection from the image sensor;determining a location associated with the reflection; in response tothe received indication, determining a change for the user interfacebased on the determined location; and transmitting a command to theprojector to modify the projected user interface according to thedetermined change.

According to another embodiment of the present disclosure, a system forprojecting a user interface onto a film may comprise a film, a firstprojector, a second projector, an image sensor, and at least oneprocessor. The film may be affixed to a surface. The first projector maybe configured to project a user interface onto the film, and the secondprojector may be adapted to have a power on mode and a low power modeand configured to project a plurality of light beams such that theplurality of light beams form a plane above the film that does notintersect the film. The image sensor may be configured to receivereflections caused by the projected plurality of light beams, and the atleast one processor may be configured to perform operations that maycomprise receiving an indication of proximity of a mobile device; inresponse to the indication of proximity, transmitting a command to thesecond projector to switch from the low power mode to the power on mode;generating a user interface; and transmitting a command to the firstprojector to project the generated user interface.

According to an exemplary embodiment of the present disclosure, a systemfor projecting a user interface onto a film may comprise a film, a firstprojector, a second projector, an image sensor, and at least oneprocessor. The film may be affixed to a surface. The first projector maybe configured to project a user interface onto the film, and the secondprojector may be adapted to have a power on mode and a low power modeand configured to project a plurality of light beams such that theplurality of light beams form a plane above the film that does notintersect the film. The image sensor may be configured to receivereflections caused by the projected plurality of light beams and mayhave a processing core configured to determine locations associated withreceived reflections, and the at least one processor may be configuredto perform operations that may comprise receiving an indication ofproximity of a mobile device; in response to the indication ofproximity, transmitting a command to the second projector to switch fromthe low power mode to the power on mode; generating a user interface;and transmitting a command to the first projector to project thegenerated user interface.

According to another embodiment of the present disclosure, a system forprojecting a user interface onto a film may comprise a film, aprojector, and at least one processor. The film may be affixed to asurface. The projector may be adapted to have a power on mode and a lowpower mode and configured to project a user interface onto the film andmay include an image sensor configured to receive reflections caused bythe projected user interface. The at least one processor may beconfigured to perform operations that may comprise receiving anindication of proximity of a mobile device; in response to theindication of proximity, transmitting a command to the projector toswitch from the low power mode to the power on mode; generating a userinterface; and transmitting a command to the projector to project thegenerated user interface.

Additional embodiments of the present disclosure include non-transitorycomputer-readable media storing instructions that cause one or moreprocessors to execute any of the methods disclosed herein.

Additional objects and advantages of the present disclosure will be setforth in part in the following detailed description, and in part will beobvious from the description, or may be learned by practice of thepresent disclosure. The objects and advantages of the present disclosurewill be realized and attained by means of the elements and combinationsparticularly pointed out in the appended claims.

It is to be understood that the foregoing general description and thefollowing detailed description are exemplary and explanatory only, andare not restrictive of the disclosed embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which comprise a part of this specification,illustrate several embodiments and, together with the description, serveto explain the disclosed principles. In the drawings:

FIG. 1 is a schematic representation of an example interactiveprojection system, consistent with embodiments of the presentdisclosure.

FIG. 2 is a schematic representation of an example second projector foran interactive projection system, consistent with embodiments of thepresent disclosure.

FIG. 3 is a schematic representation of an example first projector foran interactive projection system, consistent with embodiments of thepresent disclosure.

FIG. 4A is a schematic representation of an exemplary interactiveprojection system used on a vehicle window, consistent with embodimentsof the present disclosure.

FIG. 4B is a schematic representation of another exemplary interactiveprojection system used on a vehicle window, consistent with embodimentsof the present disclosure.

FIG. 5 is a schematic representation of yet another exemplaryinteractive projection system used on a vehicle window, consistent withembodiments of the present disclosure.

FIG. 6 is a flowchart of an exemplary method for enabling userinteraction with a projection system, consistent with embodiments of thepresent disclosure.

FIG. 7 is a flowchart of another exemplary method for enabling userinteraction with a projection system, consistent with embodiments of thepresent disclosure.

FIG. 8 is a flowchart of an exemplary method for configuring aprojection system for proximity-based projection, consistent withembodiments of the present disclosure.

FIG. 9 is a flowchart of an exemplary method for generating a customizeduser interface for an interactive projection system, consistent withembodiments of the present disclosure.

DETAILED DESCRIPTION

The disclosed embodiments relate to systems and methods for providing aninteractive interface using a film, a visual projector, and an infraredprojector. Embodiments of the present disclosure may be implementedusing a film, a first projector, a second projector, an image sensor andat least one processor, as described below. In some embodiments, the atleast one processor may comprise a microprocessor, such as a centralprocessing unit (CPU), a graphics processing unit (GPU), or otherelectronic circuitry capable of carrying out the instructions of acomputer program by performing the operations specified by theinstructions. Alternatively or concurrently, the at least one processormay comprise one or more special-purpose devices built according toembodiments of the present disclosure using suitable circuit elements,e.g., one or more application-specific integrated circuits (ASICs),field-programmable gate arrays (FPGAs), or the like.

According to an aspect of the present disclosure, an interactiveprojection system may comprise a film, a first projector, a secondprojector, an image sensor, and at least one processor. For example, thefilm may comprise any material configured to reflect light projectedfrom at least one angle away from the film. The film may be lightweight.For example, it may comprise one or more plastics.

The first projector may comprise any optical device configured to shinelight onto a surface. For example, the projector may use one or morelight bulbs, one or more lasers, or any combination thereof, in order togenerate the light. In some embodiments, the projector may furthercomprise a focusing device (e.g., one or more lenses). The light may begenerated according to one or more inputs to the projector, e.g., inorder to form an image or a series of images. Accordingly, the projectormay be configured to project a user interface onto the film.

The second projector may comprise any optical device configured to shinelight over and not intersecting with a surface. For example, theprojector may use one or more light bulbs, one or more lasers, or anycombination thereof, in order to generate the light. In someembodiments, the light may comprise non-visible light, such as infraredlight. In some embodiments, the projector may further comprise afocusing device (e.g., one or more lenses).

In some embodiments, the first projector and the second projector may beencased together within a housing. For example, the housing may have afirst aperture for allowing visible light from the first projector totravel to the film and may have a second aperture for allowingnon-visible light from the second projector to form a plane above thefilm.

The image sensor may comprise any sensor for converting a visual signalinto digital signal. For example, the image sensor may comprise acharge-coupled device (CCD), a complementary metal-oxide-semiconductor(CMOS), an N-type metal-oxide-semiconductor (NMOS), an array ofphotoresistors, an array of phototransistors, or any other sensorcapable of converting received light into digital signals. The imagesensor may be configured to receive reflections caused by a plurality oflight beams projected from the second projector or, in embodiments wherethe first projector and the second projector are combined, from acombined projector. Additionally or alternatively, the image sensor maybe configured to capture gaps or shadows in the plurality of lightbeams.

In some embodiments, the image sensor may be separate from the firstprojector and/or the second projector. Alternatively, the image sensormay form a portion of the second projector. In embodiments where thefirst projector and the second projector are combined, the image sensormay be separate from the combined projector or form a portion of thecombined projector.

The at least one processor may be remote from the first projector, thesecond projector, and the image sensor. Additionally or alternatively,the at least one processor may encased within a housing with the firstprojector and/or within a housing with the second projector. Forexample, the housing may comprise a shell formed of plastic and/or metalto include the projector and the at least one processor.

In one embodiment, the at least one processor may be configured toreceive an indication of a reflection from the image sensor. Forexample, the image sensor may send a signal indicating detection of areflection along with associated properties, such as time of receipt ofthe reflection, angle of receipt of the reflection, wavelength of thereflection, intensity of the reflection, location of the reflectionwithin the field of view of the image sensor, or the like. The at leastone processor may perform filtering using one or more of the receivedproperties. For example, an indication with an intensity below aparticular threshold may be determined to be a false positive.

The at least one processor may be further configured to determine alocation associated with the reflection. For example, the at least oneprocessor may calculate time-of-flight of the reflection to calculate adepth and determine the location based on the calculated depth and thelocation of the reflection within the field of view of the image sensor.Additionally or alternatively, the at least one processor may calculatethe depth based on a shift in wavelength of the reflection. Additionallyor alternatively, the at least one processor may calculate the depthbased on an angle of receipt of the reflection.

In other embodiments, the at least one processor may be configured toreceive an indication of a reflection and a location associated with thereflection from a processing core of the image sensor. Accordingly, theprocessing core may receive an indication of a reflection from the imagesensor and determine a location associated with the reflection in amanner similar to the at least one processor, described above.

Alternatively, the at least one processor may be configured to receivean indication of a shadow (e.g., on the film) from the image sensor. Forexample, the image sensor may capture images of the film such that anygaps in the light projected from the second projector or any shadowcaused by such a gap are visible in the captured images. Accordingly,the image sensor may comprise an infrared sensor or other non-visiblelight wave image sensor. The image sensor may send a signal indicatingcapture of the image along with associated properties of the image, suchas time of capture of the image, or the like. The at least one processormay perform filtering using one or more of the received properties. Forexample, an image having a gap or shadow with a size below a particularthreshold and/or a sharpness below a particular threshold may bedetermined to be a false positive. Additionally or alternatively, a gapor shadow appearing in a number of images below a threshold (e.g., inonly one or two images) and/or appearing for a short duration in time(e.g., in one or more images spanning less than 1 second or the like)may be determined to be a false positive. These same filtering metricsmay also be applied to reflections.

The at least one processor may be further configured to determine alocation associated with the gap or shadow. For example, the at leastone processor may perform depth analysis on the captured image todetermine the location of the gap or shadow within the field of view ofthe image sensor. In other embodiments, the at least one processor maybe configured to receive an indication of a gap or shadow and a locationassociated with the gap or shadow from a processing core of the imagesensor. Accordingly, the processing core may receive an indication of agap or shadow from the image sensor and determine a location associatedwith the gap or shadow in a manner similar to the at least oneprocessor, described above.

The at least one processor may be further configured to, in response tothe received indication, determine a change for the user interface basedon the determined (or received) location. For example, the at least oneprocessor may determine a popup window to be generated if the locationis within one or more regions of the film. In another example, the atleast one processor may determine a new user interface to be generatedif the location is within one or more regions of the film. In yetanother example, the at least one processor may determine no change ifthe location is within one or more regions of the film.

In certain aspects, the reflection may be monitored for changes (or forthe lack thereof) across a period of time and/or across locations of thefilm. For example, the at least one processor may receive a plurality ofsignals from the image sensor in a temporal sequence such that thereflection may be tracked. In such aspects, the determined change may befurther based on the monitored change and/or the magnitude of the periodof time. For example, the at least one processor may determine a popupwindow to be generated if the reflection remains in the same locationfor a threshold period of time. In another example, the at least oneprocessor may determine a new user interface to be generated if thelocation of the reflection moves across the film in one or morepatterns.

The at least one processor may be further configured to transmit acommand to the first projector to modify the projected user interfaceaccording to the determined change. For example, the at least oneprocessor may send one or more graphics comprising a user interfaceincorporating the determined change to the first projector. The one ormore graphics may be sent via a wired connection to the first projectorand/or via a wireless connection to the first projector.

In one embodiment, at least one processor may be configured to receivingan indication of proximity of a mobile device. For example, the at leastone processor may receive global positioning system (GPS) coordinatesand/or other positional indicators (such as received signal strength,time of arrival one or more network signals at the mobile device, angleof arrival of one or more network signals at the mobile device, or thelike) from which the at least one processor may determine a location ofthe mobile device. Alternatively, the mobile device may calculate itsown location and send the location directly to the at least oneprocessor.

The at least one processor may be further configured to, in response tothe indication of proximity, transmit a command to the first projectorand/or to the second projector to power on. In embodiments where thefirst projector and/or the second projector are adapted to have a poweron mode and a low power mode, the at least one processor may transmit acommand to the first projector and/or to the second projector to switchfrom the low power mode to the power on mode. In any of the examplesabove, the at least one processor may send the command(s) via a wiredconnection to the first projector and/or the second projector and/or viaa wireless connection to the first projector and/or the secondprojector.

The at least one processor may be further configured to generate a userinterface. For example, the at least one processor may generate one ormore graphics and may layer the one or more graphics to form the userinterface. The at least one processor may retrieve the one or moregraphics from one or more memories (e.g., a volatile memory such as arandom access memory (RAM) or a non-volatile memory such as a hard diskdrive or flash memory).

The at least one processor may be further configured to transmit acommand to the first projector to project the generated user interfaceonto the film. For example, as explained above, the at least oneprocessor may send the one or more graphics comprising the userinterface to the first projector. The one or more graphics may be sentvia a wired connection to the first projector and/or via a wirelessconnection to the first projector.

The at least one processor may be further configured to receive anindication that the mobile device is beyond a proximity threshold. Theproximity threshold may comprise, for example, a shortest distancethreshold, a Lebesgue distance, a distance along a single axis, or thelike. For example, the at least one processor may receive updated GPScoordinates and/or other updated positional indicators (such as receivedsignal strength, time of arrival of one or more network signals at themobile device, angle of arrival of one or more network signals at themobile device, or the like) from which the at least one processor maydetermine an updated location of the mobile device. Alternatively, themobile device may calculate its own updated location and send thelocation directly to the at least one processor. The at least oneprocessor may then determine whether the updated location is outside aparticular threshold (e.g., more than 10 meters from a particularlocation, more than 20 feet from a particular location, or the like).The particular threshold may comprise the proximity threshold. Moreover,the proximity threshold may vary by direction, e.g., 10 feet in aplurality of directions (e.g., defined by an angle range) and yet 30feet in another plurality of directions (e.g., defined by a differentangle range). Thus, the at least one processor may react to mobiledevices approaching a front of the film with a proximity threshold thatis relaxed compared to that for mobile devices approaching a back of thefilm.

The at least one processor may be further configured to, in response tothe indication that the mobile device is beyond the proximity threshold,transmit a command to the first projector and/or to the second projectorto power off. In embodiments where the first projector and/or the secondprojector are adapted to have a power on mode and a low power mode, theat least one processor may transmit a command to the first projectorand/or to the second projector to switch from the power on mode to thelow power mode. In any of the examples above, the at least one processormay send the command(s) via a wired connection to the first projectorand/or the second projector and/or via a wireless connection to thefirst projector and/or the second projector.

In any of the embodiments above, the at least one processor may befurther configured to receive one or more indicators of interestassociated with the mobile device. For example, the at least oneprocessor may receive the indicators from one or more applicationsrunning on the mobile device. Additionally or alternatively, the atleast one processor may use an authorization obtained from the mobiledevice to retrieve the indicators form one or more remote servers.

The at least one processor may be further configured to generate acustomized user interface based on the one or more indicators. Forexample, the at least one processor may select and/or organize one ormore graphics (and/or text) comprising the customized user interface toprioritize graphics and text aligned with the indicators of interest.For example, the at least one processor may map the indicators ofinterest to one or more predetermined profiles having one or morecharacteristics and may select the graphics and text using a relationaldatabase indexing characteristics to graphics and text. Additionally oralternatively, the at least one processor may determine strength scoresfor each indicator of interest and then organize the selected graphicsand text to prioritize those matching indicators with the highestscores.

The at least one processor may be further configured to transmit acommand to the first projector to project the customized user interface.For example, the at least one processor may send the command via a wiredconnection to the first projector and/or via a wireless connection tothe first projector.

In such embodiments, the at least one processor may be furtherconfigured to determine one or more automotive preferences based on theone or more indicators. For example, as explained above, the indicatorsmay be mapped to one or more automotive preferences, e.g., using arelational database and/or feature model. For example, an automotivepreference may comprise one or more characteristics of a user that mayinfluence a vehicle purchase, such as liking outdoors, caring for theenvironment, having a job as a contractor, or the like. Accordingly,generating the customized user interface may be based on the one or moreautomotive preferences, similar to the generation based on theindicators explained above.

Additionally or alternatively, the at least one processor may be furtherconfigured to receiving an indication that the mobile device is beyond aproximity threshold, as explained above, or may receive a secondindication of proximity of a second mobile device (e.g., the at leastone processor may receive GPS coordinates and/or other positionalindicators from which the at least one processor may determine alocation of the second mobile device, or may receive the locationdirectly from the second mobile device and may then determine whetherthe location of the second mobile device is within a particularthreshold that may comprise the proximity threshold). In response to theindication that the mobile device is beyond the proximity thresholdand/or receiving the second indication, the at least one processor maygenerate a default user interface and transmit a command to the firstprojector to replace the customized user interface with the default userinterface. For example, the at least one processor may send the commandvia a wired connection to the projector and/or via a wireless connectionto the first projector.

Embodiments of the present disclosure also relate to methods andcomputer-readable media that implement the above embodiments.

Reference will now be made in detail to exemplary embodiments andaspects of the present disclosure, examples of which are illustrated inthe accompanying drawings.

FIG. 1 is a schematic representation of example interactive projectionsystem 100. As depicted in FIG. 1, system 100 may include a firstprojector 101 and a second projector 103 in communication with aprocessor 105 (e.g., via a wired connection). Additionally oralternatively, first projector 101 and/or second projector 103 maycommunicate with a communications device 109 (e.g., via a wiredconnection and/or a wireless connection). Projector 101 may beconfigured to project a user interface onto a film (not shown), andprojector 103 may be configured to project a plurality of light beamssuch that the plurality of light beams form a plane above the film thatdoes not intersect the film.

Although not depicted in FIG. 1, system 100 may include an image sensor.For example, image sensor may be separate from or included in secondprojector 103. The image sensor may be in communication with processor105 to transmit indications of reflections (or gaps or shadows) causedby the projected plurality of light beams. Additionally oralternatively, the image sensor may communicate with communicationsdevice 109 (e.g., via a wired connection and/or a wireless connection)to transmit the indications. Alternatively, the image sensor may includea processing core configured to determine locations associated withreceived reflections (or gaps or shadows) caused by the projectedplurality of light beams and may transmit the determined locations(e.g., to processor 105 and/or via communications device 109).

Processor 105 may further be in communication with memory 107. Forexample, memory 107 may store the indications (or locations) from theimage sensor and/or data from processor 105.

As further depicted in FIG. 1, system 100 may further include a networkinterface 111 in communication with processor 105. For example, networkinterface 111 may communicate (e.g., via a wired connection and/or awireless connection) with one or more remote servers (such as remoteserver 113).

FIG. 2 is a schematic representation of example second projector 200.Example projector 200 may be used in, for example, interactiveprojection system 100 of FIG. 1. Although depicted as using alaser-based illumination system, projector 200 may additionally oralternatively use a bulb-based illumination system.

Second projector 200 may include an illumination system (not shown) thatproduces a plurality of light beams, e.g., beam 203 a and beam 203 b. Insome embodiments, beams 203 a and 203 b may pass through a focusingsystem 201 (e.g., including one or more lenses). In embodiments wherethe illumination system is laser-based, second projector 200 may lackfocusing system 201 because the laser(s) may be self-focusing.

Beams 203 a and 203 b may reflect off objects in the environment ofsecond projector 200. For example, as depicted in FIG. 2, beams 203 aand 203 b may reflect off a finger of a user and cause a plurality ofreflections (e.g., reflection 205 a and reflection 205 b) to be sentback towards second projector 200. Reflections 205 a and 205 b caused bybeams 203 a and 203 b may be received by image sensor 207 a.

Additionally with or alternatively to image sensor 207 a, an imagesensor 207 b may be located across a film (not shown) over which theplurality of beams (e.g., beams 203 a and 203 b) are projected. In suchan embodiment, as explained above, image sensor 207 b may detect gaps orshadows caused by a finger of a user in addition to or in lieu of imagesensor 207 a detecting reflections 205 a and 205 b. Accordingly, someembodiments may use both image sensors 207 a and 207 b while otherembodiments may only use one of image sensors 207 a and 207 b.

In some embodiments, second projector 200 may further include aprocessor 209 and/or a wireless communications device 211. Processor 209may comprise a standalone processor and/or a processing core of imagesensor 207. For example, processor 209 may perform one or more steps ofthe methods disclosed herein, perform filtering on received reflections(or gaps of shadows) to remove false positives (as described above),and/or may process received reflections (or gaps or shadows) todetermine corresponding locations. Wireless communications device 211may communicate over one or more wireless networks.

Second projector 200 may further include a power control and/or aventilation system, as explained below with respect to first projector300. In embodiments where second projector 200 uses one or morelow-powered lasers as the illumination system, second projector 200 maylack a ventilation system as the cooling therefrom may not be necessary.Additionally or alternatively, second projector 200 may be wired forcommunications, e.g., via a Video Graphics Array (VGA) connector, aHigh-Definition Multimedia Interface (HDMI), or the like.

FIG. 3 is a schematic representation of example first projector 300.Example first projector 300 may be used in, for example, interactiveprojection system 100 of FIG. 1. Although depicted as using a bulb-basedillumination system, first projector 300 may additionally oralternatively use a laser-based illumination system.

As depicted in FIG. 3, first projector 300 may include an illuminationsystem 303 (e.g., one or more bulbs) and a focusing system 301 (e.g.,including one or more lenses). In embodiments where illumination system303 is laser-based, first projector 300 may lack focusing system 301because the laser(s) may be self-focusing.

In some embodiments, first projector 300 may further include a processor305 and/or a wireless communications device 307. For example, processor305 may perform one or more steps of the methods disclosed herein and/ormay process received graphics into images for projection. Wirelesscommunications device 307 may communicate over one or more wirelessnetworks. Additionally or alternatively, first projector 300 may bewired for communications, e.g., via a Video Graphics Array (VGA)connector, a High-Definition Multimedia Interface (HDMI), or the like.

As further depicted in FIG. 3, first projector 300 may include a powercontrol 309 (e.g., a button or switch) and/or a ventilation system 311.In embodiments where first projector 300 uses one or more low-poweredlasers as illumination system 303, first projector 300 may lackventilation system 311 as the cooling therefrom may not be necessary.

Although depicted as separate, first projector 300 and second projector200 may be encased within the same housing. Alternatively, firstprojector 300 and second projector 200 may be combined such that animage sensor is configured to receive reflections (or gaps or shadows)from the projected user interface rather than from a separate pluralityof light beams that form a plane.

In embodiments where the first projector 300 and second projector 200are combined, the image sensor may be configured to capture images inwhich a gap or shadow in the light projected from the combined projector(that is, a gap or shadow in the projected user interface) is visible inthe captured images, as explained above.

FIG. 4A is a schematic representation of an example interactiveprojection system 400 used on a vehicle window. As depicted in FIG. 4A,film 401 is affixed to a surface. In the example of FIG. 4A, the surfacecomprises a vehicle window. In one embodiment, the surface may be, atleast in part, transparent. For example, the surface may comprise glass.In other embodiments, the surface may be opaque. The surface maycomprise, for example, a building window, a display case, or the like.

First projector 403 may be configured to project to film 401. Asdepicted in FIG. 4A, first projector 403 may be configured to project animage 405 onto a surface that is not fully perpendicular to the plane ofthe first projector. Accordingly, a processor of first projector 403 mayperform adjustments to received graphics in order to project the image405 formed by the graphics onto the non-perpendicular surface withoutdistortion.

As further depicted in FIG. 4A, second projector 407 may be configuredto project a plurality of light beams such that the plurality of lightbeams form a plane 409 above the film that does not intersect the film.Although depicted as parallel to the film in FIG. 4A, plane 409 mayalternatively slope towards or away from the film (without intersectingthe film). For example, plane 209 formed by the plurality of light beamsmay form an angle of not more than 10 degrees with a plane of the film.

FIG. 4B is a schematic representation of another example interactiveprojection system 450 used on a vehicle window. Similar to system 400 ofFIG. 4A, in FIG. 4B, film 401 is affixed to a surface comprising avehicle window, first projector 403′ is configured to project to film401, and second projector 407 is configured to project plane 409.However, as depicted in FIG. 4B, projector 403′ may be located insidethe vehicle rather than outside (as depicted in FIG. 4A). Accordingly,projector 403′ is configured to perform rear projector rather than frontprojector. Such a configuration may use a processor of projector 403′ toperform adjustments to received graphics in order to project the image405 formed by the graphics without reversing image 405. Moreover,similar to system 400 of FIG. 4A, in FIG. 4B, the processor of projector403′ may also perform adjustments to received graphics in order toproject the image 405 formed by the graphics onto the non-perpendicularsurface without distortion.

FIG. 5 is another schematic representation of an example interactiveprojection system 500 used on a vehicle window. As depicted in FIG. 5,film 503 is affixed to a surface. In the example of FIG. 5, the surfaceis, at least in part, transparent. Indeed, in the example of FIG. 5, thesurface comprises glass and further comprises a vehicle window. Othersurfaces may be used. For example, in one embodiment, the surface may beopaque.

Projector 501 may be configured to project to film 503. Similar tosystem 400 and as depicted in FIG. 5, projector 501 may be configured toproject an image onto a surface that is not fully perpendicular to theplane of projector. Accordingly, a processor of projector 503 mayperform adjustments to received graphics in order to project the imageformed by the graphics onto the non-perpendicular surface withoutdistortion. However, as depicted in FIG. 5, projector 501 is used inlieu of a first projector and a second projector. Accordingly, an imagesensor of system 500 (not shown) may be configured to receivereflections (or gaps or shadows) caused by the projected user interface.

Although not depicted in FIGS. 4A, 4B, or 5, the film (e.g., film 401 orfilm 503) may include a focusing assistant. For example, the focusingassistant may comprise an embedded beacon that transmits (e.g.,wirelessly or by using a wireless communications device) a signal to thefirst projector (e.g., first projector 403 or first projector 403′) orthe combined projector (e.g., projector 501) to assist the (first orcombined) projector with projecting onto the film. For example, thesignal may include an indicator of orientation of the film. Accordingly,the beacon may comprise a magnetometer, a geomagnetic field sensor, orany other positional sensor, or a combination thereof. The signal mayfurther include an indicator of size of the film. For example, thesignal may indicate the total dimensions of the film, a center point ofthe film, a focal point of the film, or the like.

Additionally or alternatively, the focusing assistant may comprise aregistration mark having a particular pattern. The (first or combined)projector may capture an image of the registration mark beforeprojection (e.g., via the image sensor used to receive reflections,gaps, or shadows or via a different image sensor) and analyze the imageto determine an orientation of the film. Based on the determinedorientation and known properties of the film (such as the dimensions ofthe film, the placement of the registration mark on the film, a focalpoint of the film, or the like), the (first or combined) projector mayproject onto the film.

FIG. 6 is a flowchart of exemplary method 600 for enabling userinteraction with a projection system. Exemplary method 600 may beimplemented by, for example, processor 105 of system 100 of FIG. 1.Exemplary method 600 may further be implemented using anothergeneral-purpose computer or special-purpose computer having at least oneprocessor.

At step 601, the processor may receive an indication of a reflectionfrom an image sensor. For example, the image sensor may receive areflection caused by a plurality of beams projected by a secondprojector. In embodiments where a combined projector is used instead ofa first projector and a second projector, the image sensor may receive areflection caused by a plurality of beams projected from the combinedprojector.

The image sensor may send the indication along with one or moreproperties of the reflection, such as time of receipt of the reflection,angle of receipt of the reflection, wavelength of the reflection,intensity of the reflection, location of the reflection within the fieldof view of the image sensor, or the like. The indication may be receivedvia a wired connection and/or via a wireless connection.

In some embodiments, the processor may filter the received indication todetermine whether it is a false positive. Additionally or alternatively,the image sensor may be configured to filter false positives. Forexample, the image sensor may be hardwired for a threshold such that theimage sensor is not activated unless an intensity of the reflection isabove the threshold and/or may include a processing core that onlytransmits indications if a received reflection is above the same (or adifferent) threshold. In embodiments where the image sensor detects gapsor shadows, the processor and/or the image sensor may filter gaps orshadows with a size below a particular threshold and/or a sharpnessbelow a particular threshold. Additionally or alternatively, theprocessor and/or the image sensor may filter gaps or shadows appearingin a number of images below a threshold (e.g., in only one or twoimages) and/or appearing for a short duration in time (e.g., in one ormore images spanning less than 1 second or the like). These samefiltering metrics may also be applied to reflections.

At step 603, the processor may determine a location of the reflection.For example, as explained above, the processor may calculate a depth ofthe reflection, e.g., based on time-of-flight of the reflection, angleof receipt of the reflection, shift in wavelength of the reflection, orthe like, and determine the location based on the calculated depth andthe location of the reflection within the field of view of the imagesensor.

At step 605, in response to the received indication, the processor maydetermine a change for a user interface based on the determinedlocation. For example, as explained above, the determined change in theuser interface may include a popup window, increasing or decreasing asize of at least one component (for example, a window, a graphic, a textbox, a button, or the like) of the user interface, increasing ordecreasing a transparency of at least one component of the userinterface, changing a color of at least one component of the userinterface, adding a new component to or removing a component from theuser interface, reorganizing at least one component of the userinterface, or the like. In another example, the determined change in theuser interface may comprise a replacement user interface. In yet anotherexample, the determined change in the user interface may comprise ananimation, such as scrolling the user interface.

In some embodiments, determining the change in the user interface may bebased on a change in the location over a period of time. For example, achange in location may be indicative of a user dragging her finger onthe user interface, which may result in a different change to the userinterface than one or more taps. In such embodiments, determining thechange in the user interface may further be based on at least one of amagnitude of the change in location or a magnitude of the period oftime. For example, the magnitude of the change in location may be usedto determine the change in the user interface if the change in locationis indicative of a drag-and-drop motion. In another example, themagnitude of the period of time may be used to determine the change inthe user interface if the change in location is indicative of ascrolling motion.

At step 607, the processor may transmit a command to a first projectorto modify a projected user interface according to the determined change.For example, the processor may transmit the commands including thedetermined change (e.g., new graphics, new text, new sizes, newtransparencies, new user interface, or the like) through a wiredconnection and/or a wireless connection to the first projector.

FIG. 7 is a flowchart of another exemplary method 700 for enabling userinteraction with a projection system. Exemplary method 700 may beimplemented by, for example, processor 105 of system 100 of FIG. 1.Exemplary method 700 may further be implemented using anothergeneral-purpose computer or special-purpose computer having at least oneprocessor.

At step 701, the processor may receive an indication of a reflection anda location associated with the reflection from the processing core. Forexample, the image sensor may receive a reflection caused by a pluralityof beams projected by a second projector. In embodiments where acombined projector is used instead of a first projector and a secondprojector, the image sensor may receive a reflection caused by aplurality of beams projected from the combined projector.

The processing core of the image sensor may determine the location ofthe reflection. For example, as explained above, the processing core maycalculate a depth of the reflection, e.g., based on time-of-flight ofthe reflection, shift in wavelength of the reflection, or the like, anddetermine the location based on the calculated depth and the location ofthe reflection within the field of view of the image sensor. Theindication and determined location may be send to the processor via awired connection and/or via a wireless connection.

In embodiments where the image sensor detects gaps or shadows, theprocessor and/or the image sensor may filter reflections, gaps orshadows with a size below a particular threshold and/or a sharpnessbelow a particular threshold. Additionally or alternatively, theprocessor and/or the image sensor may filter gaps or shadows appearingin a number of images below a threshold (e.g., in only one or twoimages) and/or appearing for a short duration in time (e.g., in one ormore images spanning less than 1 second or the like). These samefiltering metrics may also be applied to reflections.

In some embodiments, the processor may filter the received indication todetermine whether it is a false positive. Additionally or alternatively,the image sensor may be configured to filter false positives. Forexample, the image sensor may be hardwired for a threshold such that theimage sensor is not activated unless an intensity of the reflection isabove the threshold and/or may include a processing core that onlytransmits indications if a received reflection is above the same (or adifferent) threshold.

At step 703, in response to the received indication, the processor maydetermine a change for the user interface based on the receivedlocation. For example, step 703 may be performed in a manner similar tothe operation of step 605 of method 600, described above.

At step 705, the processor may transmit a command to a first projectorto modify a projected user interface according to the determined change.For example, similar to step 607 of method 600, the processor maytransmit the command including the modified interface (e.g., graphics,text, sizes thereof, transparencies thereof, or the like) through awired connection and/or a wireless connection to the projector.

FIG. 8 is a flowchart of exemplary method 800 for configuring aprojection system for proximity-based projection. Exemplary method 800may be implemented by, for example, processor 105 of system 100 ofFIG. 1. Exemplary method 800 may further be implemented using anothergeneral-purpose computer or special-purpose computer having at least oneprocessor.

At step 801, the processor may receive an indication of proximity of amobile device. The processor may receive the indication directly fromthe mobile device or through an intermediary. For example, anintermediary may include a Wi-Fi (or other wireless networking hotspot)to which the mobile device has connected.

The indication of proximity may include a GPS location of the mobiledevice. Additionally or alternatively, the indication of proximity mayinclude at least one of a received signal strength, a time of arrival,or an angle of arrival of one or more network signals at the mobiledevice. Accordingly, the processor may determine a location of themobile device based on the indication and determine proximity bycomparing a distance between the determined location to a predeterminedlocation (e.g., at or near one or more components of system 100) with athreshold (e.g., 30 yards, 10 feet, or the like).

At step 803, in response to the indication of proximity, the processormay transmit a command to a second projector to power on. For example,the second projector may be configured to project a plurality of lightbeams such that the plurality of light beams form a plane above a filmthat does not intersect a film. Accordingly, the indication of proximitymay result in the film being rendered interactive in response to theindication of proximity.

Additionally or alternatively, in response to the indication ofproximity, the processor may transmit a command to a first projector topower on. For example, the first projector may be configured to projecta user interface onto the film. Accordingly, the indication of proximitymay result in the user interface being projected and becoming visible inresponse to the indication of proximity.

In embodiments where the first projector and/or the second projector areadapted to have a power on mode and a low power mode, the processor mayalternatively or additionally transmit a command to the first projectorand/or to the second projector switch from the low power mode to thepower on mode. In embodiments where the first projector and the secondprojector comprise a single projector, the processor may transmit asingle command to the single projector.

At step 805, the processor may generate a user interface. For example,as explained above, the processor may select one or more graphics, text,and the like and organize the selected components into a user interface.The selected components may be retrieved from one or more memoriesand/or from one or more remote servers. In some embodiments, generatingthe user interface may be performed in response to the indication ofproximity. For example, the user interface may not be visible until theindication is received, after which the user interface is generated andrendered interactive. In other embodiments, the user interface may havebeen generated previously. For example, the user interface may bevisible but remain static until the indication is received, after whichthe user interface is rendered interactive.

At step 807, the processor may transmit a command to the first projectorto project the generated user interface. For example, the processor maytransmit the command including the user interface (e.g., graphics andtext comprising the interface along with properties, such as sizes,transparencies, or the like) through a wired connection and/or awireless connection to the first projector. In some embodiments,transmitting the command may be performed in response to the indicationof proximity and/or in response to generating the user interface. Forexample, as explained above, the user interface may not be visible untilthe indication is received, after which the user interface istransmitted and rendered interactive. In other embodiments, the commandmay have been transmitted previously. For example, the user interfacemay be visible but remain static until the indication is received, afterwhich the user interface is rendered interactive.

Method 800 may further include additional steps. For example, method 800may further include receive an indication that the mobile device isbeyond a proximity threshold. Similar to step 801, the processor mayreceive the indication directly from the mobile device or through anintermediary.

Similar to the indicator of proximity, the indicator that mobile deviceis beyond the proximity threshold may include an updated GPS location ofthe mobile device. Additionally or alternatively, the indication thatthe mobile device is beyond a proximity threshold may include at leastone of an updated received signal strength, an updated time of arrival,or an updated angle of arrival of one or more network signals at themobile device. Accordingly, the processor may determine an updatedlocation of the mobile device based on the indication and determine thatthe mobile device is beyond the proximity threshold by comparing adistance between the updated location to a predetermined location (e.g.,at or near one or more components of system 100) with the proximitythreshold (e.g., 30 yards, 10 feet, or the like).

The processor may be further configured to, in response to theindication that the mobile device is beyond the proximity threshold,transmit a command to the projector to power off. For example, theprocessor may send the command via a wired connection to the projectorand/or via a wireless connection to the projector. In embodiments wherethe projector is adapted to have a power on mode and a low power mode,the command may be to switch from the power on mode to the low powermode.

Method 800 may be combined with methods 600 and/or 700 such that theproximity-based projection and power control of method 800 may beincorporated into the interactive features of methods 600 and/or 700.For example, after step 807 of method 800, method 600 and/or method 700may be executed such that the processor receives indications ofreflections (or gaps or shadows) caused by the second projector, whichmay have been powered on at step 803, and then modifies the projectedinterface in accordance with steps 603-607 of method 600 and/or step703-705 of method 700.

FIG. 9 is a flowchart of exemplary method 900 for generating acustomized user interface for an interactive projection system.Exemplary method 900 may be implemented by, for example, processor 105of system 100 of FIG. 1. Exemplary method 900 may further be implementedusing another general-purpose computer or special-purpose computerhaving at least one processor.

At step 901, the processor may receive one or more indicators ofinterest associated with a mobile device. For example, the processor mayreceive the indicators from one or more applications running on themobile device. Additionally or alternatively, the processor may use anauthorization obtained from the mobile device to retrieve the indicatorsform one or more remote servers. For example, the process may haveobtained the authorization from an intermediary, such as a Wi-Fi device(or other wireless networking hotspot), that the mobile device providedupon connecting to the intermediary. For example, the mobile device mayprovide the authorization as a condition of connecting to theintermediary and/or of receiving access to a network (such as anInternet) through the intermediary.

At step 903, the processor may generate a customized user interfacebased on the one or more indicators. For example, as explained above,the processor may select and/or organize one or more componentscomprising the customized user interface to prioritize componentsaligned with the indicators of interest. For example, the processor maymap the indicators of interest to one or more predetermined profileshaving one or more characteristics and may select the components using arelational database indexing characteristics to user interfacecomponents. Additionally or alternatively, the processor may determinestrength scores for each indicator of interest and then organize theselected components to prioritize those matching indicators with thehighest scores.

In some embodiments, the processor may determine one or more automotivepreferences based on the one or more indicators and then generate thecustomized user interface based on the one or more automotivepreferences. For example, the one or more automotive preferences mayinclude at least one of gas mileage, horsepower, towing capacity, trunkspace, number of seats, or acceleration. As explained above, theindicators may be mapped to one or more automotive preferences, e.g.,using a relational database and/or a feature model. Accordingly,generating the customized user interface may be based on the one or moreautomotive preferences, similar to the generation based on theindicators explained above.

At step 905, the processor may transmit a command to the first projectorto project the customized user interface. For example, the processor maytransmit the command in a manner similar to the transmission of step807, described above.

Method 900 may further include additional steps. For example, method 900may further include receiving an indication that the mobile device isbeyond a proximity threshold. For example, the processor may receive theindication directly from the mobile device or through an intermediary(e.g., the intermediary used in step 901, described above).

As explained above, the indication of proximity may include a GPSlocation of the mobile device. Additionally or alternatively, theindication of proximity may include at least one of a received signalstrength, a time of arrival, or an angle of arrival of one or morenetwork signals at the mobile device. Accordingly, the processor maydetermine a location of the mobile device based on the indication anddetermine proximity by comparing a distance between the determinedlocation to a predetermined location (e.g., at or near one or morecomponents of system 100) with a threshold (e.g., 30 yards, 10 feet, orthe like).

Additionally or alternatively, method 900 may include receiving a secondindication of proximity of a second mobile device. For example, theprocessor may receive GPS coordinates and/or other positional indicatorsfrom which the processor may determine a location of the second mobiledevice, or may receive the location directly from the second mobiledevice and may then determine whether the location of the second mobiledevice is within a particular threshold that may comprise the proximitythreshold.

In response to the indication that the mobile device is beyond theproximity threshold and/or in response to the second indication, theprocessor may generate a default user interface and transmit a commandto the first projector replace the customized user interface with thedefault user interface. The “default user interface” may comprise aselection and/or organization of one or more components comprising thecustomized user interface that is not based on particular indicators ofinterest (or automotive preferences). For example, the processor maytransmit the command in a manner similar to step 905, described above.

Method 900 may be combined with any of method 800 such that thegeneration of customized user interfaces may be combined with theproximity-based projection and power control of method 800. For example,method 900 may replace steps 805 and 807 of method 800 such that acustomized user interface is generated and projected rather than ageneric user interface. Moreover, the customized user interfaces (and/ordefault user interfaces) described above may be rendered interactive,e.g., by combining method 1200 with method 600 and/or method 700.

The foregoing description has been presented for purposes ofillustration. It is not exhaustive and is not limited to precise formsor embodiments disclosed. Modifications and adaptations of theembodiments will be apparent from consideration of the specification andpractice of the disclosed embodiments. For example, the describedimplementations include hardware and software, but systems and methodsconsistent with the present disclosure can be implemented with hardwarealone. In addition, while certain components have been described asbeing coupled to one another, such components may be integrated with oneanother or distributed in any suitable fashion.

Moreover, while illustrative embodiments have been described herein, thescope includes any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations and/or alterations based on the presentdisclosure. The elements in the claims are to be interpreted broadlybased on the language employed in the claims and not limited to examplesdescribed in the present specification or during the prosecution of theapplication, which examples are to be construed as nonexclusive.Further, the steps of the disclosed methods can be modified in anymanner, including reordering steps and/or inserting or deleting steps.

Instructions or operational steps stored by a computer-readable mediummay be in the form of computer programs, program modules, or codes. Asdescribed herein, computer programs, program modules, and code based onthe written description of this specification, such as those used by thecontroller, are readily within the purview of a software developer. Thecomputer programs, program modules, or code can be created using avariety of programming techniques. For example, they can be designed inor by means of Java, C, C++, assembly language, or any such programminglanguages. One or more of such programs, modules, or code can beintegrated into a device system or existing communications software. Theprograms, modules, or code can also be implemented or replicated asfirmware or circuit logic.

The features and advantages of the disclosure are apparent from thedetailed specification, and thus, it is intended that the appendedclaims cover all systems and methods falling within the true spirit andscope of the disclosure. As used herein, the indefinite articles “a” and“an” mean “one or more.” Similarly, the use of a plural term does notnecessarily denote a plurality unless it is unambiguous in the givencontext. Words such as “and” or “or” mean “and/or” unless specificallydirected otherwise. Further, since numerous modifications and variationswill readily occur from studying the present disclosure, it is notdesired to limit the disclosure to the exact construction and operationillustrated and described, and accordingly, all suitable modificationsand equivalents may be resorted to, falling within the scope of thedisclosure.

Other embodiments will be apparent from consideration of thespecification and practice of the embodiments disclosed herein. It isintended that the specification and examples be considered as exampleonly, with a true scope and spirit of the disclosed embodiments beingindicated by the following claims.

1-20. (canceled)
 21. A system for projecting a user interface onto afilm, the system comprising: a film affixed to a surface; a projectorconfigured to project a user interface onto the film; at least oneprocessor configured to perform operations comprising: receiving a firstindication of proximity of a first mobile device; transmitting a commandto the projector to project the generated user interface; receiving oneor more indicators of interest associated with the first mobile device;generating a customized user interface based on the one or moreindicators; transmitting a command to the projector to project thecustomized user interface; receiving a second indication of proximity ofa second mobile device; generating, in response to the secondindication, a default user interface comprising one or more componentsdifferent from the customized user interface; and transmitting a commandto the projector to replace the customized user interface with thedefault user interface.
 22. The system of claim 21, wherein the secondindication of proximity comprises global positioning system coordinatesof the second mobile device.
 23. The system of claim 21, wherein thesecond indication of proximity comprises signal strength of the secondmobile device.
 24. The system of claim 21, wherein the second indicationof proximity comprises angle of arrival of one or more network signalsof the second mobile device.
 25. The system of claim 21, wherein thecustomized user interface comprises prioritized graphics and textaligned with the one or more indicators of interest.
 26. The system ofclaim 21, wherein the at least one processor is further configured tomap the one or more indicators of interest to one or more predeterminedprofiles, wherein the one or more predetermined profiles comprise one ormore characteristics.
 27. The system of claim 26, wherein the operationsfurther comprise selecting graphics and text using a relational databasebased on the one or more characteristics.
 28. A system for projecting auser interface onto a film, the system comprising: a film affixed to asurface; a projector configured to project a user interface onto thefilm, the projector including an image sensor configured to receivereflections caused by the projected user interface, wherein the imagesensor comprises a processing core configured to determine locationsassociated with the reflections; and at least one processor configuredto perform operations comprising: receiving, from the image sensor, anindication of the reflections, receiving, from the processing core, alocation associated with the reflections, determining, in response tothe received indication, a change for the user interface based on thereceived location, and transmitting a command to the projector to modifythe projected user interface according to the determined change.
 29. Thesystem of claim 28, wherein the image sensor configured to activate whenan intensity of a reflection is above a threshold.
 30. The system ofclaim 28, wherein the determined change in the user interface includesat least one of displaying a popup window or scrolling the userinterface.
 31. The system of claim 28, wherein the image sensorcomprises at least one of a charge-coupled device, a complementarymetal-oxide-semiconductor, an array of photoresistors, or an array ofphototransistors.
 32. The system of claim 28, wherein the surface istransparent.
 33. The system of claim 28, wherein the surface is opaque.34. The system of claim 28, wherein the projector is configured toperform rear projection on the film affixed to the surface.
 35. Thesystem of claim 28, wherein the projector is configured to perform frontprojection on the film affixed to the surface.
 36. A system forprojecting a user interface, the system comprising: a projector forprojecting a user interface; an image sensor configured to activate whenan intensity of a reflection is above a threshold, wherein the imagesensor, once activated, receives a set of reflections caused by theprojected user interface; and at least one processor configured toperform operations comprising: receiving an indication of one or morereflections from the set of reflections from the image sensor;determining a location associated with the one or more reflections;determining, in response to the received indication, a change for theuser interface based on the determined location; and transmitting acommand to the projector to modify the projected user interfaceaccording to the determined change.
 37. The system of claim 36, whereinthe projector performs adjustments to received graphics.
 38. The systemof claim 36, wherein the projector is configured to project onto anonperpendicular surface.
 39. The system of claim 36, wherein the atleast one processor is further configured to determine whether thereceived indication is a false positive.
 40. The system of claim 37,wherein the at least one processor is further configured to filter thereceived indication based on the determination whether the receivedindication is a false positive.